Today's computing devices, such as laptops, tablets, smartphones and the like, are available in a wide variety of hardware and software platforms each having different operational requirements. Most of these devices provide browser software to enable users to connect to the internet and access browser-based applications. Today's web applications typically require the same test cases to be performed on multiple platforms and layouts, where each test case must often have slight variances when performed on each platform. As a result, the ability for application developers to quickly and efficiently test such browser-based applications across the spectrum of platforms, without much (if any) manual tester involvement, has become important.
Current tools for automated functional testing of such browser-based applications are typically split into servicing different platforms (e.g., desktop computing vs. mobile computing)—often with different quality assurance teams handling each type of device. As a result, the teams may utilize many different test scripts to accommodate the different device platforms and, as the developers make changes to the application, the test scripts may require manual updates or adjustments for each platform to ensure the scripts are working properly. In addition, many test scripts cannot be reused or adapted to fit different platforms, as current testing tools are unable to dynamically recognize and test the same user interface controls across different browser software, device operating system software, and/or device hardware.